package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 案卷管理对象 record_archives
 *
 * @author admin
 * @date 2022-03-02
 */
@Data
public class RecordArchives extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @Excel(name = "案卷ID", type = Excel.Type.EXPORT)
    private String archivesId;

    /**
     * 预留字段11，创建人ID
     */
    @Excel(name = "创建人ID(必填项)")
    private Long objInt11;

    /**
     * 分类ID
     */
    @Excel(name = "分类ID(必填项)")
    private String typeId;

    /**
     * 工程ID(外键)
     */
    @Excel(name = "工程ID(必填项)")
    private Long enginId;

    /**
     * 案卷分类号
     */
    @Excel(name = "分类号")
    private String archiveClassifiNum;

    /**
     * 档号
     */
    @Excel(name = "档号")
    private String archiveFileNum;

    /**
     * 档案馆代码
     */
    @Excel(name = "档案馆代号")
    private String archiveCode;

    /**
     * 案卷题名
     */
    @Excel(name = "案卷题名(必填项)")
    private String caseFileTitle;

    /**
     * 微缩号
     */
    @Excel(name = "微缩号")
    private String miniatureNum;

    /**
     * 项目代号
     */
    @Excel(name = "项目代号")
    private String projectCode;

    /**
     * 责任者
     */
    @Excel(name = "责任者")
    private String personLiable;

    /**
     * 编制日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "编制日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date compilationDate;

    /**
     * 总登记号
     */
    @Excel(name = "总登记号", type = Excel.Type.EXPORT)
    private int registNum;

    /**
     * 存放位置
     */
    @Excel(name = "存放位置")
    private String storagePosition;

    /**
     * 编制单位
     */
    @Excel(name = "编制单位")
    private String organization;

    /**
     * 进馆日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "进馆日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date entryDate;

    /**
     * 总卷数
     */
    @Excel(name = "总卷数")
    private Long totalRolls;

    /**
     * 当前卷
     */
    @Excel(name = "当前卷")
    private Long currentRolls;

    /**
     * 保管期限
     */
    @Excel(name = "保管期限")
    private String storageTime;

    /**
     * 密级
     */
    @Excel(name = "密级")
    private String secretLevel;

    /**
     * 借阅状态
     */
    @Excel(name = "实体借阅状态，0，未借出，1，已借出", type = Excel.Type.EXPORT, readConverterExp = "0=未借出,1=已借出")
    private String status;

    /**
     * 预留字段1，归档状态
     */
    @Excel(name = "归档状态，0：未申请，1：申请中，2：审核通过，3：审核拒绝", type = Excel.Type.EXPORT, readConverterExp = "0=未申请,1=申请中,2=审核通过,3=审核拒绝")
    private String objStr1;

    /**
     * 预留字段2, 移交单位
     */
    @Excel(name = "移交单位")
    private String objStr2;


    /**
     * 预留字段3, 案卷档号
     */
    @Excel(name = "案卷档号")
    private String objStr3;

    /**
     * 预留字段4，录入人
     */
    @Excel(name = "录入人")
    private String objStr4;

    /**
     * 预留字段5
     */
    private String objStr5;

    /**
     * 预留字段6
     */
    private String objStr6;

    /**
     * 预留字段7
     */
    private String objStr7;

    /**
     * 预留字段8
     */
    private String objStr8;

    /**
     * 预留字段9
     */
    private String objStr9;

    /**
     * 预留字段10
     */
    private String objStr10;

    /**
     * 预留字段12
     */
    private Long objInt12;

    /**
     * 预留字段13
     */
    private Long objInt13;

    /**
     * 预留字段14
     */
    private Long objInt14;

    /**
     * 预留字段15
     */
    private Long objInt15;

    // 项目工程
//    @Excels({
//            @Excel(name = "工程ID", targetAttr = "enginId", type = Excel.Type.EXPORT),
//            @Excel(name = "工程名称", targetAttr = "enginName", type = Excel.Type.EXPORT),
//            @Excel(name = "单位工程名称", targetAttr = "unitProjectName", type = Excel.Type.EXPORT),
    //    })
    private RecordEngin rEngin;

}
